home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
- */
-
- /*
- * The code contained herein is licensed under the GNU Lesser General
- * Public License. You may obtain a copy of the GNU Lesser General
- * Public License Version 2.1 or later at the following locations:
- *
- * http://www.opensource.org/licenses/lgpl-license.html
- * http://www.gnu.org/copyleft/lgpl.html
- */
- #ifndef __ASM_ARCH_MXC_PMIC_STATUS_H__
- #define __ASM_ARCH_MXC_PMIC_STATUS_H__
- #include <asm-generic/errno-base.h>
- #ifdef __KERNEL__
- #include <asm/uaccess.h> /* copy_{from,to}_user() */
- #endif
- /*!
- * @file arch-mxc/pmic_status.h
- * @brief PMIC APIs return code definition.
- *
- * @ingroup PMIC_CORE
- */
-
- /*!
- * @enum PMIC_STATUS
- * @brief Define return values for all PMIC APIs.
- *
- * These return values are used by all of the PMIC APIs.
- *
- * @ingroup PMIC
- */
- typedef enum {
- PMIC_SUCCESS = 0, /*!< The requested operation was successfully
- completed. */
- PMIC_ERROR = -1, /*!< The requested operation could not be completed
- due to an error. */
- PMIC_PARAMETER_ERROR = -2, /*!< The requested operation failed because
- one or more of the parameters was
- invalid. */
- PMIC_NOT_SUPPORTED = -3, /*!< The requested operation could not be
- completed because the PMIC hardware
- does not support it. */
- PMIC_SYSTEM_ERROR_EINTR = -EINTR,
-
- PMIC_MALLOC_ERROR = -5, /*!< Error in malloc function */
- PMIC_UNSUBSCRIBE_ERROR = -6, /*!< Error in un-subscribe event */
- PMIC_EVENT_NOT_SUBSCRIBED = -7, /*!< Event occur and not subscribed */
- PMIC_EVENT_CALL_BACK = -8, /*!< Error - bad call back */
- PMIC_CLIENT_NBOVERFLOW = -9, /*!< The requested operation could not be
- completed because there are too many
- PMIC client requests */
- } PMIC_STATUS;
-
- /*
- * Bitfield macros that use rely on bitfield width/shift information.
- */
- #define BITFMASK(field) (((1U << (field ## _WID)) - 1) << (field ## _LSH))
- #define BITFVAL(field, val) ((val) << (field ## _LSH))
- #define BITFEXT(var, bit) ((var & BITFMASK(bit)) >> (bit ## _LSH))
-
- /*
- * Macros implementing error handling
- */
- #define CHECK_ERROR(a) \
- do { \
- int ret = (a); \
- if (ret != PMIC_SUCCESS) \
- return ret; \
- } while (0)
-
- #define CHECK_ERROR_KFREE(func, freeptrs) \
- do { \
- int ret = (func); \
- if (ret != PMIC_SUCCESS) { \
- freeptrs; \
- return ret; \
- } \
- } while (0);
-
- #endif /* __ASM_ARCH_MXC_PMIC_STATUS_H__ */
-